﻿using Microsoft.TeamFoundation.Client;
using ReaderWriter.IO;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ReaderWriter.Providers
{
  public   class TFSReaderWriter : IReaderWriter
    {
      string _uri, _user, _password;
      public TFSReaderWriter()
      {
          _uri = "https://xzen.visualstudio.com";
      }
      public TFSReaderWriter(string uri)
      {
          _uri = uri;
      }
      public TFSReaderWriter(string uri, string user, string password)
      {
          _uri = uri;
          _user = user;
          _password = password;
      }
        public FolderNode GetRoot()
        {
            TeamFoundationServer server = new TeamFoundationServer(_uri);
            throw new NotImplementedException();
        }

        public FolderNode Up(string uri)
        {
            throw new NotImplementedException();
        }

        public List<FolderNode> GetFolders(FolderNode root)
        {
            throw new NotImplementedException();
        }

        public List<FolderNode> GetFolders(string uri, bool recurse, int level=0)
        {
            throw new NotImplementedException();
        }

        public List<StorageNode> GetAllNodes(string uri)
        {
            throw new NotImplementedException();
        }

        public List<FileNode> GetFiles(FolderNode parent)
        {
            throw new NotImplementedException();
        }

        public FolderNode GetFolder(string uri)
        {
            throw new NotImplementedException();
        }

        public FileNode GetFile(string uri, bool fillWithContent = false)
        {
            throw new NotImplementedException();
        }

        public FileNode CreateFile(FolderNode parent, FileNode file, bool overriteProperties = true)
        {
            throw new NotImplementedException();
        }

        public FolderNode CreateFolder(FolderNode parent, FolderNode child, bool overriteProperties = true)
        {
            throw new NotImplementedException();
        }

        public FileNode WriteFile(FileNode file)
        {
            throw new NotImplementedException();
        }

        public FileNode ReadFile(FileNode file)
        {
            throw new NotImplementedException();
        }

        public bool IsFolderExist(FolderNode folder)
        {
            throw new NotImplementedException();
        }

        public bool IsFileExist(FileNode file)
        {
            throw new NotImplementedException();
        }

        public bool DeleteFile(FileNode file)
        {
            throw new NotImplementedException();
        }

        public bool RemoveFolder(FolderNode folder)
        {
            throw new NotImplementedException();
        }
        public string Execute(string uri)
        {
            return uri;
        }
    }
}
